perm filename NSF[ADM,DBL] blob sn#154452 filedate 1975-04-15 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00007 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	User-Machine Dialogues:
C00003 00003	Domain Knowledge:
C00009 00004	Programming knowledge
C00010 00005	User-Machine Dialogues 2:
C00012 00006	Domain Knowledge 2 and System Integration 2:
C00014 00007	Other tasks 2:
C00016 ENDMK
CāŠ—;
User-Machine Dialogues:

In Lenat's PUP6 system, a single "proper" dialogue was first constructed
by simulation. Next, just enough knowledge was provided to enable the system
to reproduce that behavior. Although this was enough to allow for some
specific changes, by and large the user could not deviate significantly
from that original protocol. The problem here is termed brittleness or
inflexibility, and stems from a lack of breadth of knowledge.

Domain Knowledge:

In the PUP6 system, there were about eight pages of facts about concept formation,
partitioning a domain of stimuli, breaking down a scene into components, etc.
For example, here is the part of the concept formation knowledge dealing with
"variations of concept formation experiments"; it is stored a set of 
independent decisions which ultimately must be made:

It must  be  one  of  the  following:  classificatory  concept
formation,   comparative   concept  formation,  or  metrical  concept
formation. 
We must make the boolean decision as  to  whether  or  not
concepts  may  vary  with  time.  
Similarly,  whether  the  speed  of
presentation of  the  stimuli  is  relevant;  if  so,  then  we  must
constrain  the  effort  spent  on  various  phases of identification.
Instances may be left in view indefinitely, or may be  removed  right
after  processing;  this  latter  case means we must
derive all relations (features) as  soon  as  we  see  a  scene. 
The program  will  have  to be just complex enough to handle conjunctive,
disjunctive, or both kinds of concepts.
Similarly  for  positive,  negative, both, or neither kinds of
transfer  (psychological),  which  affects  the  recognition  that  a
concept is new, and how previously learned concepts interact with the
learning of new ones.   
We  must  decide  whether  to  use  positive,
negative,  or  both kinds of instances of a concept. 
Subject-specific
behavior may be required; that is, the program may have  to  input  a
vector  describing  a  particular individual, and its whole structure
must mimic this subject. 
The last decision is  one  of  adapting  the
program  to  an extended sample dialogue which the user must furnish;
this will help both to check out the program  writtten,  and  to  fix
various  print  statements  and  I/O formats. 

Here are a few of the other parts of the concept formation knowledge, listed
by cateogry:

(pre-requisite:)
The user must be aware that we  are  about  to
undertake concept formation. 
(demons:) 
Inference and attention-focussing demons
must be turned on. 
(effects:) 
After completion of this task, PUP6 will  be  able
to learn concepts. 
(generalizations:) 
This is a specialized form of attending, learning,
and doing inductive inference. 
(alternatives:) 
It is an  alternative  to  grammatical
inference,   pattern   recognition,   and  simulated  evolution. 
(complexity-vector:) 
It is easy to call this
BEING (.1), it has a 50-50 chance of calling* itself, it has  only  a
0.5  chance of succeeding, but the effort to try it is moderate (.5).
There is no fundamental reason for delaying its  investigation  (.1).
(iden:) 
It  recognizes  
itself  only  through  exact matching of one of seven
patterns. 
(what, how, why:) 
It has sentences describing what it does, how, and why. 
(when:) 
It is  unlikely  (-70) to be called if some type of concept formation is
already doable by PUP6; if PUP6 wants to characterize  classes,  then
it's  very  likely (88) to be called. The presence of new information
delays (-60) our calling the BEING, since it  might  affect  what  we
should  do.  Conversely,  the  absence of new information mildly (40)
encourages us to go on and try it. 
(post-requisites:)
When finished, the  user  must  be
aware  that  PUP6  has  decided  on  a  particular  type  of  concept
formation, and that it has done it. 
(affects:) 
The other BEINGs affected  depend
on the decisions mentioned earlier.


In all, there were about 12 domain-specific BEINGs which were used in
synthesizing the concept formation program.
Programming knowledge

near the front:

PW1, had  as its programming knowledge merely a few program schemata
and a table of how likely each known function was to appear in each given
slot in each schema. As one would expect, this was insufficient to prevent
the exponential growth associated with enumeration.

near the end of the page:

As a more quantitative example, consider that 3 out of the 12 domain-specific
BEINGs (concepts, bodies of facts) in PUP6, which were originally put in to
deal with the concept formation task, were later used in synthesizing a
grammatical inference program.

User-Machine Dialogues 2:

One of the most complex issues in our research is the relationship of
natural language  understanding ability to  programming ability.
In one respect, this was the major weakness of the PUP6 system.
A good strategy, when confronted by two complex issues, is to find
a domain in which only one of them presents itself. For this reason,
Lenat is now considering, as a task domain, programs doing research
in elementary mathematics. Although rich, the typical mathematics subset
of English seems quite manageable.
With communication both simple and rare, the major problems encountered
should be directly connected to code synthesis or to the domain itself.

Domain Knowledge 2 and System Integration 2:

In Lenat's Automated Mathematician system, the preponderence of knowledge
will deal with elementary mathematics. About one hundred pages of facts
have been compiled, and are being programmed; about 10% of these deal with
the synthesis of new code in the system.
Since the only control allowed is a simple processing of a structured data
base, programming reduces to knowing how to extend that data base.
Therefore, it is possible to say all you have to about "how to program"
in a very small set of rules. Accompanying this should be a detailed
set of knowledge about deciding what to insert; but this is purely domain-
dependent.

Other tasks 2:

The central concept of PUP6 was that of uniformly maintaining all knowledge
as BEINGs, where each BEING has the same internal structure, yet where that
structure is quite intricate. "Automatic code synthesis" then reduces to
"writing new BEINGs", since the control structure is considered forever fixed.
The Automated Mathematician project now shifts the domain from concept
formation to elementary mathematics. Knowledge about mathematical concepts
is still represented procedurally, as parts of BEINGs. New knowledge is
added to the system by writing more code (more BEINGs); this demands some
code-writing knowledge and some mathematics-development knowledge.
This project will depend crucially on the code synthesis
techniques developed in the PUP6 system.